//封装接口
// 优化1：添加基准地址
// 作用：以后用axios具体发送请求时不用加基准地址，axios自动加上
axios.defaults.baseURL='http://api-breakingnews-web.itheima.net'
//优化2：添加请求拦截器
// 场景：添加token
axios.interceptors.request.use(function(config){
    if(config.url.startsWith('/my')){
        config.headers.Authorization=localStorage.getItem('token')
    }
    return config
})

//优化3：添加响应拦截器
// 场景：处理 token 失效问题
axios.interceptors.response.use(function(response){
    //判断token失效问题
    if(response.data.status===1&&response.data.message==='身份认证失败！'){
        //本地失效token删除
        localStorage.removeItem('token')
// 回到登录页
window.parent.location.href='/login.html'
    }
    return response
})

// 封装注册
function myRegister(data,callback){
    axios.post(`/api/reguser`,data).then(res=>{
        //短路运算符，防止回调函数调用失效问题
        callback&&callback(res)
    })
}

// 封装登录
function myLogin(data,callback){
    axios.post(`/api/login`,data).then(res=>{
        callback&&callback(res)
    })
}

//封装获取个人信息
function myUserInfo(callback){
    axios.get(`/my/userinfo`).then(res=>{
        callback&&callback(res)
    })
}

//封装获取类别
function myGetCates(callback){
    axios.get(`/my/article/cates`).then(res=>{
        callback&&callback(res)
    })
}